For a device to communicate with another device over a network, the device typically needs to have what is called a “protocol stack,” which may be implemented in hardware and/or software. A protocol stack is logically divided into a number of “layers.” For example, the Internet Protocol (IP) protocol stack is divided into five logical layers: the physical layer (layer 1), the link layer (layer 2), the network layer (layer 3), the transport layer (layer 4) and the application layer (layer 5). For each layer, there is at least one corresponding protocol for that layer. For example, the Internet Protocol (IP) and Transmission Control Protocol (TCP) are protocols that correspond to the network layer and transport layer, respectively. In the Internet, Ethernet is a protocol that commonly corresponds to the link layer (layer 2).
A “layer 2” network device (L2D) is typically a device that operates on link layer protocol data units (PDUs) (e.g., examines and forwards link layer PDUs). A link layer PDU is a PDU generated by an entity (software and/or hardware) that implements the protocol associated with the link layer of the protocol stack. Examples of L2Ds are network bridges and network switches. As their name implies, a network bridge and a network switch generally serve the function of connecting together two or more network components. For instance, an L2D may connect a first local area network (LAN) (e.g., a point-to-point LAN) with another LAN (e.g., a shared media LAN). More specifically, an L2D typically includes at least two ports: a first port for connecting the L2D to a first LAN and a second port for connecting the L2D to a second LAN.
A network may comprise many LANs that are connected via a multitude of L2Ds. In such a network it is desirable to avoid network loops, as such loops can render the network unable to transport normal traffic. In order to prevent loops in such a network, a protocol known as the Spanning Tree Protocol (STP) was developed. The basic function of STP is to prevent loops and the ensuing broadcast radiation. STP requires that the L2Ds coordinate with each other to prevent network loops by communicating with each other using Bridge Protocol Data Units (BPDUs).
Rapid STP (RSTP) is an evolution of STP that provides for faster spanning tree convergence after a topology change. RSTP is defined in IEEE Std. 802.1D™-2004 (the “RSTP standard”), which is incorporated by this reference herein. Under RSTP, when a port of an L2D is activated (e.g., initialized, rebooted, comes up, etc.), the port is placed in a discarding state and the L2D transmits onto the LAN to which the port is connected a proposal RST BPDU (i.e., an RST BPDU that has the proposal flag set) (for RSTP to provide rapid convergence only one other L2D should be connected to the LAN). The L2D will not move the port to a forwarding state unless and until the L2D receives on that port an agreement RST BPDU (i.e., an RST BPDU having the agreement flag set) transmitted from the other L2D connected to the LAN in response to the proposal RST BPDU.
It is possible that the proposal RST BPDU will never reach the other L2D due to an error in the LAN. In such a case, the other L2D will not transmit a response (e.g., an agreement RST BPDU). Accordingly, under RSTP, if the L2D does not receive a response to the proposal RST BPDU within a predefined amount of time measured from when the proposal RST BPDU was transmitted, the L2D will immediately retransmit the RST BPDU. This predefined amount of time is referred to as the “Bridge Hello Time” (or “Hello Time” for short). The default value for the Hello Time is 2 seconds, and the “Compatibility Range” is 1.0-2.0 seconds. See IEEE Std. 802.1D™-2004 at table 17-1. More specifically, the Hello Time defines the interval between periodic transmissions of Configuration Messages (see id. at 17.13.6).
Accordingly, in the case where a proposal or agreement RST BPDU is lost, it will take at least 1 second for the network to recover from this failure, thereby delaying the L2D from being able to move the port from the discarding state to the functioning forwarding state by at least 1 second, which may result in a network traffic outage that lasts until the port is placed in the forwarding state.
There is a need, therefore, to decrease the amount of time it takes for a network to recover from a lost proposal or agreement RST BPDU.